import axios from "axios";
import { getToken, removeToken } from "./token";
import router from "@/router";
//1.根域名配置
//2.请求拦截器
//3.响应拦截器
//4.超时时间	
const request=axios.create({
  baseURL: "http://geek.itheima.net/v1_0",
  timeout: 5000,
})

// 添加请求拦截器
request.interceptors.request.use((config)=> {
	//1.请求拦截器config注入token数据
	//2.获取token数据
	//3.将token数据注入到config中
	const token=getToken()
	if(token){
		config.headers.Authorization=`Bearer ${token}`
	}
	return config
}, (error)=> {
	return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use((response)=> {
	// 2xx 范围内的状态码都会触发该函数。
	// 对响应数据做点什么
	return response.data
}, (error)=> {
	// 超出 2xx 范围的状态码都会触发该函数。
	// 对响应错误做点什么
	if(error.response.status===401){
		//跳转到登录页面
		removeToken()
		router.navigate('/')
		//强制刷新页面
		window.location.reload()
	}
	return Promise.reject(error)
})
export {request}
